﻿namespace WayneGameSolution.Strategies
{
    using System;
    using System.Collections.Generic;
    using System.Xml.Linq;
    using WayneGameSolution.Construct;
    using WayneGameSolution.Membership;
    using WayneGameSolution.Chat;
    using WayneGameSolution.Communicate;
    using WayneGameSolution.Services;
    public interface IGlobalConfig
    {
        bool AttachTypes(string relativePath);
        object CreateObject(string name_space, params object[] parms);

        IAreaFactory AreaFactory { get; }

        IDictionary<string, IChatChannel> ChatChannels { get; }

        XDocument Config { get; }

        IEnumerable<ILinkListener> LinkListeners { get; }

        IDictionary<string, IUser> LogedUsers { get; }

        IDictionary<string, IArea> MountedAreas { get; }

        Type PackFlagEnumType { get; }

        IDictionary<string, Type> ReflectTypes { get; }

        IEnumerable<IGameService> Serivces { get; }

        IUserFactory UserFactory { get; }
    }
}

